package setCoveringProblem.gridgain;
/* $Id: Return.java 2844 2004-11-24 10:52:27Z ceriel $ */

public final class DatosSetCoveringProblem implements java.io.Serializable {
   	
	private static final long serialVersionUID = 1L;

	private byte[] listaOptima;

    private int cantidadOptima;

	private char[] empleados;

	private byte[][] skills;
	
	public DatosSetCoveringProblem(char[] empleados, byte[][] skills) {
		super();
		this.listaOptima = new byte[empleados.length];
		this.cantidadOptima = Integer.MAX_VALUE;
		this.empleados = empleados;
		this.skills = skills;
	}
	
	public void setListaOptimaItem(int indice, int valor){
		this.listaOptima[indice] = (byte)valor;
	}
	
	public int getCantidadOptima() {
		return cantidadOptima;
	}
	public boolean hasCantidadOptima() {
		return (cantidadOptima!=Integer.MAX_VALUE);
	}

	public void setCantidadOptima(int cantidadOptima) {
		this.cantidadOptima = cantidadOptima;
	}

	public void incrementarCantidadOptima(){
		this.cantidadOptima++;
	}

	public int getCantidadEmpleados(){
		return this.empleados.length;
	}
	
	public char getEmpleado(int indice){
		return this.empleados[indice];
	}

	public byte[] getSkillsRow(int indice){
		return this.skills[indice];
	}
	
	public byte getSkillValue(int fila, int columna){
		return this.skills[fila][columna];
	}	
	
	public int getCantidadDeSkils(){
		return this.skills[0].length;
	}
}